Conventionally, HDDs (Hard Disk Drives) are generally used as physical storage media in storage subsystems and computers, but recently, physical storage media such as SSDs (Solid State Drives) having flash memories (hereinafter referred to as FMs) installed thereto are attracting attention as new physical storage media that may replace HDDs. The SSD is mainly configured of one or more FM chips and a controller controlling the FM, and it has an advantage in that I/O processing speed is extremely high compared to HDDs. However, in order to realize such high performance, a control technique corresponding to the characteristics of the FM is required.
The FM (typically a NAND-type FM) erases data in units called blocks (block erase), and reads/writes data in units called pages. The block is a set of multiple pages. The time required to ease a block is longer than reading/writing by an order of one digit or greater. Hereinafter, unless stated otherwise, the terms block and/or page refer to those of the FM.
Due to the characteristics of the FM, data cannot be overwritten to a page in which data is already written. Therefore, in order to rewrite the data of a page, block erase must be performed before writing data thereto. In order to execute block erase, valid data within the relevant block must be copied to a different block before executing block erase, such that longer data rewrite time is required compared to writing data to an unused area where block erase is already performed, and therefore, it is necessary to either reduce the data rewrite time or not show the elongation of response time to a superior device.
In order to realize reduction of data rewrite time described above, the data rewrite in the FM adopts a system of additionally writing data to an unused area. Therefore, the SSD includes a logical address space to be provided to a superior device and a physical address space corresponding to the respective FM pages. The logical address space and the physical address space are mapped using corresponding information of the respective addresses (logical-physical management information). Further, the process of referring to the logical-physical management information and acquiring the corresponding physical address based on the logical address is called logical-physical address transformation (logical-physical transformation). The present process is realized by a controller installed in the SSD.
We will now simply describe the operation of read and write of the FM in the SSD. In a read processing, the SSD refers to the logical-physical transformation information to specify the physical address in which the requested data is stored, and executes the logical-physical transformation. Thereafter, the SSD acquires the requested data from the FM based on the physical address acquired by the logical-physical transformation.
During write processing, the SSD writes the write data into an unused area having been subjected to block erase of the FM. Thereafter, the SSD refers to the logical-physical transformation information, and updates the physical address mapped to the relevant logical address to correspond to the newly written data (logical-physical update). The property of the FM is deteriorated through repeated block erase, so that in a state where erase is repeatedly performed to a specific block and a portion of the blocks become unusable, continuous use of the system may become impossible. Therefore, write destination of write data must be selected to use all blocks uniformly and level out the number of times of block erase.
As described above, read/write processing of the FM in the SSD requires accessing the logical-physical management information. Therefore, in the SSD, all the logical-physical management information stored in the FM is cached to a main memory, such as a high-speed DRAM (Dynamic Random Access Memory), such that access overhead to the logical-physical management information is reduced.